// samsting : this file is auto create.

#ifndef ALIYUN_Rds_Region_DescribeAbnormalDBInstancesResponse_H_
#define ALIYUN_Rds_Region_DescribeAbnormalDBInstancesResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds_Region {

class DescribeAbnormalDBInstancesResponse : public AcsResponse {
public:
  DescribeAbnormalDBInstancesResponse();

  class InstanceResult {
    friend class DescribeAbnormalDBInstancesResponse;
  public:

    class AbnormalItem {
      friend class DescribeAbnormalDBInstancesResponse;
      friend class InstanceResult;
    public:
      const std::vector<string>& GetAdviseValue(void) const;
      const string& GetCheckTime(void) const;
      const string& GetCheckItem(void) const;
      const string& GetAbnormalReason(void) const;
      const string& GetAbnormalValue(void) const;
      const string& GetAbnormalDetail(void) const;
      const string& GetAdviceKey(void) const;
    private:
      std::vector<string> AdviseValue_;
      string CheckTime_;
      string CheckItem_;
      string AbnormalReason_;
      string AbnormalValue_;
      string AbnormalDetail_;
      string AdviceKey_;
    }; // AbnormalItem 

    const std::vector<AbnormalItem>& GetAbnormalItems(void) const;
    const string& GetDBInstanceDescription(void) const;
    const string& GetDBInstanceId(void) const;
  private:
    std::vector<AbnormalItem> AbnormalItems_;
    string DBInstanceDescription_;
    string DBInstanceId_;
  }; // InstanceResult 

  const std::vector<InstanceResult>& GetItems(void) const;
  int  GetTotalRecordCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageRecordCount(void) const;

private:
  std::vector<InstanceResult> Items_;
  int    TotalRecordCount_;
  int    PageNumber_;
  int    PageRecordCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds_Region {

#endif // #ifndef ALIYUN_Rds_Region_DescribeAbnormalDBInstancesResponse_H_

// end of file 
